package com.huirui.server.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;

/**
 * 订单管理系统-订单设置表（存储订单相关的超时规则配置，用于系统自动处理订单状态）
 * @TableName t_order_setting
 */
@TableName(value ="t_order_setting")
@Data
public class OrderSetting implements Serializable {
    /**
     * 设置ID（主键）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 秒杀订单超时时间（单位：分钟，超时未支付自动取消）
     */
    @TableField(value = "flash_order_overtime")
    private Integer flashOrderOvertime;

    /**
     * 普通订单超时时间（单位：分钟，超时未支付自动取消）
     */
    @TableField(value = "normal_order_overtime")
    private Integer normalOrderOvertime;

    /**
     * 自动确认收货超时时间（单位：小时，发货后超过此时长自动确认收货）
     */
    @TableField(value = "confirm_overtime")
    private Integer confirmOvertime;

    /**
     * 订单完成后自动结束超时时间（单位：天，确认收货后超过此时长自动结束订单）
     */
    @TableField(value = "finish_overtime")
    private Integer finishOvertime;

    /**
     * 自动评价超时时间（单位：天，订单完成后超过此时长自动好评）
     */
    @TableField(value = "comment_overtime")
    private Integer commentOvertime;

    /**
     * 免运费门槛金额
     */
    @TableField(value = "free_shipping_threshold")
    private BigDecimal freeShippingThreshold;
    /**
     * 运费金额
     */
    @TableField(value = "shipping_price")
    private BigDecimal shippingPrice;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}